package com.easylinkin.linkappapi.elasticsearch.entity;

import java.util.Date;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 能源分析查询模型
 * </p>
 *
 * @author 徐国庆
 * @since 2020-04-14
 */

@Data
@ApiModel("ES查询模型")
@Accessors(chain = true)
public class EsQuerymodel {


    /**
     * 数据源ID
     */
    @ApiModelProperty("数据源ID")
    private String dataSourceId;

    /**
     * 设备归属类型：water:水表设备;   electric:电表设备;  air:气表设备;   peoplevolume:客流
     */
    @ApiModelProperty("设备归属类型：water:水表设备;   electric:电表设备;  air:气表设备;   peoplevolume:客流")
    private String useKinds;

    /**
     * 设备编号
     */
    @ApiModelProperty("设备编号")
    private String deviceCode;

    /**
     * 区域path
     */
    @ApiModelProperty("区域path")
    private String areaPath;

    /**
     * 数据批次
     */
    @ApiModelProperty("数据批次")
    private String batchId;
    
    /**
     * 查询的起始时间
     */
    @ApiModelProperty("查询的起始时间")
    private Date currentBeginTime;
    
    /**
     * 查询的截止时间
     */
    @ApiModelProperty("查询的截止时间")
    private Date currentEndTime;

    /**
     * 查询的起始时间
     */
    @ApiModelProperty("查询的起始时间")
    private String queryTimeStart;

    /**
     * 查询的截止时间
     */
    @ApiModelProperty("查询的截止时间")
    private String queryTimeEnd;
    
    /**
     * 	环比统计类型  1 周 2月 3自定义 4年 5日
     */
    @ApiModelProperty("环比统计类型  1 周 2月 3自定义 4年 5日")
	private int  momStatisticKind;

    /**
     * 页签切换类型1 能耗 2 客流
     */
    @ApiModelProperty("页签切换类型1 能耗 2 客流")
    private int switchPageType;

    /**
     * 查询es 时要用的，需要查询哪个属性字段，例如 正向有功电量 组合有功电量
     */
    @ApiModelProperty("查询es 时要用的，需要查询哪个属性字段，例如 正向有功电量 组合有功电量")
    private List<String> attributeIdentifiers;

    @ApiModelProperty("设备编码list")
    private List<String> deviceCodeList;

    @ApiModelProperty("空间ID")
    private String spaceId;

    @ApiModelProperty("区域ID")
    private String areaId;

    /**
     * 排序，0：desc ,1：asc 默认倒序
     */
    @ApiModelProperty("排序，0：desc ,1：asc 默认倒序")
    private Integer orderBy;

}
